Using the rrbrowsersink Element

From RidgeRun Developer Wiki

Follow Us On Twitter LinkedIn Email Share this page







Preferred Partner Logo 3 Partner Program Banner





Using the rrbrowsersink

The rrbrowsersink is a sink element that expects the following format:

video/x-h264
                profile: constrained-baseline
          stream-format: avc

While the encoder can provide this type of profile and stream-format, it will be able to print the stream in the browser window.

The general steps for using the rrbrowsersink element are the following.

1. Prepare the .js file.

2. Execute the pipeline with the path to the .js file.

3. Open the browser using the following address structure, http://<IP>:<PORT>/.

The structure of a typical pipeline looks as follows.

RRBrowserSink Details

The inspect of the element is the following.

Factory Details:
  Rank                     none (0)
  Long-name                RidgeRun Browser Sink
  Klass                    Sink/Video/Network
  Description              Render low-latency streams to a browser window
  Author                   Michael Gruner <michael.gruner@ridgerun.com>

Plugin Details:
  Name                     rrbrowsersink
  Description              RidgeRun Browser Sink
  Filename                 /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstrrbrowsersink.so
  Version                  0.1.0
  License                  Proprietary
  Source module            gst-rr-browser-sink
  Binary package           RidgeRun
  Origin URL               https://ridgerun.com

GObject
 +----GInitiallyUnowned
       +----GstObject
             +----GstElement
                   +----GstBin
                         +----GstRrBrowserSink

Implemented Interfaces:
  GstChildProxy

Pad Templates:
  SINK template: 'sink'
    Availability: Always
    Capabilities:
      video/x-h264
                profile: constrained-baseline
          stream-format: avc

Element has no clocking capabilities.
Element has no URI handling capabilities.

Pads:
  SINK: 'sink'
    Pad Template: 'sink'

Element Properties:
  address             : The address to bind to in order to listen for network requests ("0.0.0.0" means any available addresses)
                        flags: readable, writable, changeable only in NULL or READY state
                        String. Default: "0.0.0.0"
  async-handling      : The bin will handle Asynchronous state changes
                        flags: readable, writable
                        Boolean. Default: false
  endpoint            : The endpoint (as in http://<ip>:<port>/<endpoint> to use to receive requests. It may include or not the leading "/".("/" or NULL are not allowed)
                        flags: readable, writable, changeable only in NULL or READY state
                        String. Default: "/endpoint"
  message-forward     : Forwards all children messages
                        flags: readable, writable
                        Boolean. Default: false
  name                : The name of the object
                        flags: readable, writable, 0x2000
                        String. Default: "rrbrowsersink0"
  parent              : The parent of the object
                        flags: readable, writable, 0x2000
                        Object of type "GstObject"
  port                : The port to use to listen for network requests
                        flags: readable, writable, changeable only in NULL or READY state
                        Unsigned Integer. Range: 0 - 4294967295 Default: 8080 
  reliable            : Use reliable ICE agents
                        flags: readable, writable, changeable only in NULL or READY state
                        Boolean. Default: false
  serve-path          : The local path to serve. This is a development convenience typically used to host the web UI showing the stream. Set to NULL or an empty string to disable the dev server. Files will be served at http://<ip>:<port>/
                        flags: readable, writable, changeable only in NULL or READY state
                        String. Default: "."

Children:
  bin

To use the rrbrowsersink element, make sure the following values are set correctly:

  • ip – the IP address where the GStreamer pipeline is running.
  • port – the port number opened to serve the web page.
  • endpoint – the path configured to receive the video stream in the browser.
  • serve-path - the path where is located the html and the .js file

These values must match the settings in the HTML file.

More details in Rendering to Browser Windows


Navigate to the browser

One the pipeline is running you can access the browser http://<IP>:<PORT>/, and then click on play to see the stream.